package com.ctshk.rpc.payment.dto.req.unionpay;

import com.ctshk.common.utils.EntityUtil;
import lombok.Data;

import java.util.Map;

/**
 * @BelongsProject: ctshk-cloud
 * @BelongsPackage: com.ctshk.rpc.payment.dto.req.unionpay
 * @Author: hef
 * @CreateTime: 2021-05-06 16:02
 * @Description: 银联支付通用请求参数
 */
@Data
public abstract class UnionPayCommonReq{
    /**
     * 版本号
     */
    private String version = "5.1.0";
    /**
     * 字符集编码
     */
    private String encoding = "UTF-8";
    /**
     * 签名方法 01 RSA
     */
    private String signMethod = "01";

    /**
     * 接入类型，商户接入填0 0- 商户 ， 1： 收单， 2：平台商户
     */
    private String accessType = "0";

    /**
     * 业务类型
     */
    private String bizType;
    /**
     * 交易类型 01-消费
     */
    private String txnType;
    /**
     * 交易子类型 01:自助消费 02:订购 03:分期付款
     */
    private String txnSubType;
    /**
     * 商户号
     */
    private String merId;
    /**
     * 商户订单号
     */
    private String orderId;
    /**
     * 订单发送时间  yyyyMMddHHmmss
     */
    private String txnTime;

    public UnionPayCommonReq(String bizType, String txnType, String txnSubType, String merId, String orderId, String txnTime) {
        this.bizType = bizType;
        this.txnType = txnType;
        this.txnSubType = txnSubType;
        this.merId = merId;
        this.orderId = orderId;
        this.txnTime = txnTime;
    }

    public Map<String, Object> toMap() {
        return (Map<String, Object>) EntityUtil.objectToMap(this);
    }
}

